Quantum cryptography has attracted much recent attention due to its potential for providing secret communications that cannot be decrypted by any amount of computational effort. This is the first analysis of the secrecy of a practical implementation of the BB84 protocol that simultaneously takes into account and presents the {\it full} set of complete analytical expressions for effects due to the presence of pulses containing multiple photons in the attenuated output of the laser, the finite length of individual blocks of key material, losses due to error correction, privacy amplification, continuous authentication, errors in polarization detection, the efficiency of the detectors, and attenuation processes in the transmission medium. The analysis addresses eavesdropping attacks on individual photons rather than collective attacks in general. Of particular importance is the first derivation of the necessary and sufficient amount of privacy amplification compression to ensure secrecy against the loss of key material which occurs when an eavesdropper makes optimized individual attacks on pulses containing multiple photons. It is shown that only a fraction of the information in the multiple photon pulses is actually lost to the eavesdropper.